--抢卷
--队列-抢卷成功队列 -设计库存-修改库存表的可用库存
---- key: 抢券同步队列，资源库存,抢券成功列表
  -- argv：活动id,用户id
--优惠卷是否抢过--抢卷成功队列--key coupon
local couponNum = redis.call("HGET", KEYS[3], ARGV[2])
-- hget 获取不到数据返回false而不是nil
if couponNum ~= false and tonumber(couponNum) >= 1
then
    return "-1";
end
--库存是否充足
local stockNum=redis.call("HGET",KEYS[2],ARGV[1])
if stockNum == false or  tonumber(stockNum) < 1
then
    return "-2";
end

--抢券列表
local listNum = redis.call("HSET",KEYS[3], ARGV[2], 1)
if listNum == false or  tonumber(listNum) < 1
then
    return "-3";
end
--减库存
stockNum=redis.call("HINCRBY",KEYS[2],ARGV[1],-1)
if tonumber(stockNum)<0
then
	return "-4";
end
--写入抢卷成功队列
local result=redis.call("HSETNX",KEYS[1],ARGV[2],ARGV[1])
if result>0
then
return ARGV[1]..""
end
return "-5"

